#ifndef _QUEUE_H
#define _QUEUE_H

typedef struct queue_node_s queue_node_t;

struct queue_node_s
{
    int  data;
    struct queue_node_s *next;
};

struct queue_s 
{
    struct queue_node_s *head;
    struct queue_node_s *tail;
}

int queue_push(queue_t *head, int data);

int queue_pop(queue_t *head, int data);

void queue_destroy(queue_t *head);

#endif 